With the advent of high bandwidth network connections, thin client desktops are becoming increasingly popular. In a thin client system, the client contains limited resources (i.e., memory, processors, etc.). More specifically, the user's desktop in a thin client system typically runs on a host (i.e., server), which is a larger machine in a server room, while the user's own computer receives only a picture (i.e., graphical image) of the actual desktop session, which is shipped over the network to the thin client's display. The thin client uses the processing power of the server to manipulate an application or perform particular input functions.
A single server may host several desktop sessions, each of which includes a virtual frame buffer. The virtual frame buffer communicates over the network to a client to display graphics on the client via the client's frame buffer. The frame buffer is a buffer that is connected to the client's display so that the application graphics (i.e., text or images within one or more windows) appear on the screen.
Additionally, the thin client may initiate one or more desktop sessions, with each session including one or more applications. Typically, each desktop sessions appears on the thin client as a separate window. The actions performed by the thin client are subsequently relayed back to the server hosting the particular desktop session, where the actual manipulation of applications or objects takes place. In this manner, graphics associated with one or more applications ultimately are displayed on the client's screen, but the software (i.e., back-end logic) to manipulate the application(s) or graphics resides on the server. For example, if the thin client uses a mouse to click on a particular icon on the desktop, the mouse click is translated back to the server. The server then performs the action, and only the new display (i.e., subsequent to performing the action) is captured before being displayed on the server's virtual frame buffer and is presented on the thin client's frame buffer. Typically, one virtual frame buffer exists for each desktop session running on the server for each user.
Conventionally, having multiple desktop sessions initiated on a thin client does not allow the user to view more than one desktop session simultaneously. This is because each desktop session is viewed individually on different windows or separate screens. For example, a remote desktop session may appear entirely within a single window on the thin client. Therefore, to view another desktop session, the client may initiate another window. In some instances, having one new window for each desktop session may not be feasible. Further, switching between multiple desktop sessions (with each possibly running a different operating system) can become a tedious task when each desktop sessions is displayed in this manner.